package com.zxy.service.impl;

import com.alibaba.dubbo.config.annotation.Service;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.zxy.dao.TravelItemDao;
import com.zxy.entity.PageResult;
import com.zxy.pojo.TravelGroup;
import com.zxy.pojo.TravelItem;
import com.zxy.service.TravelItemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Service(interfaceClass = TravelItemService.class) // 发布服务，注册到zk中心
@Transactional  // 声明式事务，所有方法都增加事务
public class TravelItemServiceImpl implements TravelItemService {
    // ctrl + i 实现类方法

    @Autowired
    TravelItemDao travelItemDao;

    @Override
    public List<TravelItem> findAll() {
        return travelItemDao.findAll();
    }

    @Override
    public void edit(TravelItem travelItem) {
        travelItemDao.edit(travelItem);
    }

    @Override
    public TravelItem getById(Integer id) {
        return travelItemDao.getById(id);
    }

    @Override
    public void add(TravelItem travelItem) {
        travelItemDao.add(travelItem);
    }

    @Override
    public PageResult findPage(Integer currentPage, Integer pageSize, String queryString) {
        // 分页插件
        // 开启分页功能
        //limit（currentPage-1）*pageSize，pageSize
        PageHelper.startPage(currentPage,pageSize); //limit？，？ 第一个问好表示开始索引，第二个问号表示查询的条数

       Page page = travelItemDao.findPage(queryString);//返回当前数据
       return  new PageResult(page.getTotal(),page.getResult()); // 1.总记录数， 2.分页数据集合

    }

    @Override
    public void delete(Integer id) {
        travelItemDao.delete(id);
    }
}
